package com.ngocvo.QuanLyThuChi;

import java.util.ArrayList;
import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.TextView;
import android.widget.CompoundButton.OnCheckedChangeListener;

public class ListWorkAdapter extends ArrayAdapter<Work>{
    ArrayList<Work> array;
    int resource;
    Context context;
    
    public ListWorkAdapter(Context context, int textViewResourceId,
            ArrayList<Work> objects) {
        super(context, textViewResourceId, objects);
        this.context = context;
        resource = textViewResourceId;
        array = objects;        
    }    

    //Phương thức xác định View mà Adapter hiển thị, ở đây chính là CustomViewGroup
    //Bắt buộc phải Override khi kế thừa từ ArrayAdapter
    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        View workView = convertView;
        
        if (workView == null) {
            workView = new CustomViewGroup(getContext());
        }
        
        //Lấy về đối tượng Work hiện tại
        final Work work = array.get(position);

        if (work != null) {
            TextView tv_name = ((CustomViewGroup) workView).tv_name;
            TextView tv_amount = ((CustomViewGroup) workView).tv_amount;
            TextView tv_flowDate = ((CustomViewGroup)workView).tv_flowDate;
            TextView tv_status = ((CustomViewGroup)workView).tv_status;
            TextView tv_id = ((CustomViewGroup)workView).tv_id;
            //TextView checkWork = ((CustomViewGroup) workView).cb;
            
            //Set sự kiện khi đánh dấu vào checkbox trên list
            /*checkWork.setOnCheckedChangeListener(new OnCheckedChangeListener() {

                @Override
                public void onCheckedChanged(CompoundButton buttonView,
                        boolean isChecked) {
                    work.setChecked(isChecked);                    
                }                
            });*/
            
            //Lấy về nội dung cho TextView và CheckBox dựa vào đối tượng Work hiện tại
            tv_name.setText(work.getName());
            tv_amount.setText(work.getAmount());
            tv_flowDate.setText(work.getFlowDate());
            //tv_status.setText(work.getStatus());
            //tv_id.setText(Long.toString(work.getId()));
            //checkWork.setChecked(work.isChecked());
        }        
        return workView;
    }    
}
